#include<stdio.h>
#include<stdlib.h>
#include<conio.h> 
#include<cwindow.h>

int high,width;
int ball_x,ball_y;
int ball_vx,ball_vy;

void gotoxy(int x,int y)
{
	HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
	COORD pos;
	pos.X = x;
	pos.Y = y;
	SetConsoleCursorPosition(handle,pos); 
 } 
 
 void startup()
 {
 	high = 15;
 	width = 20;
 	ball_x = 0;
 	ball_y = width/2;
 	ball_vx = 1;
 	ball_vy = 1;
 }
 
 void show()
 {
 	gotoxy(0,0)
 	int i,j;
 	for(i = 0;i<high;i++)
 	{
 		for(j = 0;j<width;j++)
 		{
 			if((i == ball_x)&&(j == ball_y))
 		printf("0")
 		else
 		printf(" ")
	   }
	   printf("\n");
    }
 }
 
 void updateWithoutInput()
 {
 	ball_x = ball_x + ball_vx;
	ball_y = ball_y + ball_vy;
	
	if((ball_x == 0)||(ball_x == high-1))
	  ball_vx = -ball_vx;
	if((ball_y == 0)||(ball_y == width-1))
	  ball_vy = -ball_vy;
	  
	  Sleep(50);
 }
 
 void updateWithInput()
 {
 	
 }
 
 int main()
 {
 	startup();
 	while(1)
 	{
 		show();
 		updateWithoutInput();
 		updateWithInput();
	 }
	 return 0;
 }
